﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//int main() {
//	int i = 0;
//	int arr[10] = { 0 };
//	int sum = 0;
//	for (i = 0; i < 10; i++) {
//		scanf("%d", &arr[i]);
//	}
//	for (i = 0; i < 10; i++) {
//		sum += arr[i];
//	}
//	printf("%d", sum / 10);
//	return 0;
//}
//int main() {
//	int a=6;
//	int i = 0;
//	int j = 0;
//	//scanf("%d", &a);
//	int count = a;
//	int count1 = 0;
//	int count2 = a;
//	char arr[6] = { 0 };
//	while (count2 >= 1) {
//		for (count = a - 1; count >= 0; count--) {
//			arr[count] = ' ';
//		}
//		arr[j] = '*';
//		arr[count2 - 1] = '*';
//		for (i = 0; i < a; i++) {
//			printf("%c", arr[i]);
//		}
//		printf("\n");
//		j++;
//		count2--;
//	}
//
//
//	/*int count = a;
//	int j = 1;
//	while (count != 0) {
//		for (i = j; i < count - 1; i++) {
//			arr[i] = ' ';
//		}
//		for (i=0; i<a; i++) {
//			printf("%c", arr[i]);
//		}
//		printf("\n");
//		j++;
//		count--;
//	}*/
//	
//	/*while (a != 0) {
//		printf("%c %c\n", '*', '*');
//		a--;
//	}*/
//	return 0;
//}
//打印空心正方形
//int main() {
//	int a = 0;
//	int b = 0;
//	int j = 0;
//	scanf("%d", &a);
//	int i = a;
//	b = a - 1;
//	
//		for (j = 0; j < a; j++) {
//			printf("%c", '*');
//			if (j < a - 1) {
//				printf("%c", ' ');
//			}
//		}
//		printf("\n");
//		while (i>2) {
//			for (j = -a+1; j < a; j++) {
//				if (j == -a+1 || j == a - 1) {
//					printf("%c", '*');
//				}
//				else {
//					printf("%c",' ');
//				}
//			}
//			printf("\n");
//			i--;
//		}
//
//		for (j = 0; j < a; j++) {
//			printf("%c", '*');
//			if (j < a - 1) {
//				printf("%c", ' ');
//			}
//		}
//		printf("\n");
//			/*for (;;)
//				for (;;)*/
//
//	
//	return 0;
//}
// 矩阵转置
//int main() {
//	int input1 = 0;
//	int input2 = 0;
//
//	while (scanf("%d %d", &input1, &input2) != EOF) {
//		
//		int i = 0;
//		int j = 0;
//
//		int M = input1 - 1;
//		int N = input2 - 1;
//		int arr[10][10] = { 0 };
//		for (i = 0; i <= M; i++) {
//			for (j = 0; j <= N; j++) {
//				scanf("%d", &arr[i][j]);
//			}
//		}
//		//printf("%d", arr);
//		for (j = 0; j <= N; j++) {
//			for (i = 0; i <= M; i++) {
//				printf("%d", arr[i][j]);
//				printf("%c", ' ');
//			}
//			printf("\n");
//		}
//	}
//	return 0;
//}
//数组倒序排列
//int main() {
//	int arr[10] = { 0 };
//	int i = 0;
//	for (i = 0; i < 10; i++) {
//		scanf("%d", &arr[i]);
//	}
//	for (i = 9; i >= 0; i--) {
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}
//int main() {
//	printf(sizeof(short int));
//	printf(sizeof(int));
//	printf(sizeof(long));
//	printf(sizeof(double));
//	/*printf(sizeof());
//	printf(sizeof());
//	printf(sizeof());
//	printf(sizeof());*/
//	return 0;
//}
//交换数组
//int main() {
//	int arr1[10] = { 2,2,2,2,2,2,2,2,2,2 };
//	int arr2[10] = { 8,8,8,8,8,8,8,8,8,8 };
//	int arr3[10] = { 0 };
//	int i = 0;
//	for (i = 0; i < 10; i++) {
//		arr3[i] = arr1[i];
//		arr1[i] = arr2[i];
//		arr2[i] = arr3[i];
//	}
//	printf("arr1:");
//	for (i = 0; i < 10; i++) {
//		printf("%d ", arr1[i]);
//	}
//	printf("\n");
//	printf("arr2:");
//	for (i = 0; i < 10; i++) {
//		printf("%d ", arr2[i]);
//	}
//	printf("\n");
//	return 0;
//}
//输入两个升序排列的序列，将两个序列合并为一个有序序列并输出。

//数据范围：
//1
//≤
//�
//,
//�
//≤
//1000
//
//1≤n, m≤1000  ， 序列中的值满足
//0
//≤
//�
//�
//�
//≤
//30000
//
//0≤val≤30000
//int main() {
//	int input1 = 0;
//	int input2 = 0;
//	int i = 0;
//	int j = 0;
//	int arr1[1000] = { 0 };
//	int arr2[1000] = { 0 };
//	int arr3[1000] = { 0 };
//	scanf("%d", &input1);
//	scanf("%d", &input2);
//	for (i = 0; i < input1; i++) {
//		scanf("%d", &arr1[i]);
//	}
//	for (i = 0; i < input2; i++) {
//		scanf("%d", &arr2[i]);
//	}
//	for (i = 0; i < input1 + input2; i++) {
//		if (i < input1) {
//			arr3[i] = arr1[i];
//		}
//		else {
//			arr3[i] = arr2[i - input1];
//		}
//
//	}
//	int sum = input1 + input2;
//	for (i = sum-1; i >= 0; i--) {
//		for (j = 0; j < sum; j++) {
//			if (arr3[j] > arr3[i]) {
//				//a          b
//				int c = 0;
//				c = arr3[j];
//				arr3[j] = arr3[i];
//				arr3[i] = c;
//			}
//		}
//		sum--;
//	}
//
//	for (i = 0; i < input1+input2; i++) {
//		printf("%d ", arr3[i]);
//	}
//	return 0;
//}
//打印X图案
int main() {
	int input = 0;
	while (scanf("%d", &input) != EOF) {
		
		int i = 0;
		int j = 0;
		int M = 0;

		int count1 = 0;
		int count2 = input - 1;
		char arr[100] = { 0 };
		for (i = 0; i < input; i++) {
			for (j = 0; j < input; j++) {
				arr[j] = ' ';
			}
			arr[count1] = '*';
			arr[count2] = '*';
			for (M = 0; M < input; M++) {
				printf("%c", arr[M]);
			}
			count1++;
			count2--;
			printf("\n");
		}
	}
	return 0;
}